/**
 * 
 */
package org.softTank.wsdlParser;

import java.io.File;
import java.net.URL;

import javax.xml.bind.JAXBException;

/**
 * @author Yuzone
 *
 */
public interface WsdlFactory {

	/**
	 * Get WsdlParser with a WSDL source as File.
	 * 
	 * @throws JAXBException
	 */
	WsdlParser getWsdlParser(File wsdl) throws JAXBException;

	/**
	 * Get WsdlParser with a WSDL source as String. The content of this
	 * parameter is the content of the WSDL that will be parsered, not the url
	 * of WSDL.
	 * 
	 * @throws JAXBException
	 */
	WsdlParser getWsdlParser(String wsdlContent) throws JAXBException;

	/**
	 * Get WsdlParser with a WSDL source by providing a URL.
	 * 
	 * @throws JAXBException
	 */
	WsdlParser getWsdlParser(URL wsdlUrl) throws JAXBException;

	/**
	 * At present, no use of this function.
	 * 
	 * @return
	 */
	WsdlParser getWsdlParser();

	/**
	 * Get implementation of BpelDecorator.
	 * 
	 * @return
	 */
	BpelDecorator getBpelDecorator();
}
